import os
import logging
from logging.handlers import RotatingFileHandler

def setup_logging(app_root):
    """设置日志系统"""
    # 创建日志目录
    log_dir = os.path.join(app_root, 'logs')
    os.makedirs(log_dir, exist_ok=True)

    # 配置根日志记录器
    root_logger = logging.getLogger()
    root_logger.setLevel(logging.INFO)

    # 配置同步日志记录器
    sync_logger = logging.getLogger('sync')
    sync_logger.setLevel(logging.INFO)

    # 创建格式化器
    formatter = logging.Formatter(
        '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
    )

    # 创建并配置文件处理器（根日志）
    root_file_handler = RotatingFileHandler(
        os.path.join(log_dir, 'app.log'),
        maxBytes=10*1024*1024,  # 10MB
        backupCount=5
    )
    root_file_handler.setFormatter(formatter)
    root_logger.addHandler(root_file_handler)

    # 创建并配置文件处理器（同步日志）
    sync_file_handler = RotatingFileHandler(
        os.path.join(log_dir, 'sync.log'),
        maxBytes=10*1024*1024,  # 10MB
        backupCount=5
    )
    sync_file_handler.setFormatter(formatter)
    sync_logger.addHandler(sync_file_handler)

    # 创建并配置控制台处理器
    console_handler = logging.StreamHandler()
    console_handler.setFormatter(formatter)
    root_logger.addHandler(console_handler)
    sync_logger.addHandler(console_handler)

    return root_logger, sync_logger 